package com.tyk.bookstore.back.platform.util;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tyk.bookstore.back.platform.model.entity.AreaDo;
import com.tyk.bookstore.back.platform.model.entity.CarouselDo;
import com.tyk.bookstore.back.platform.model.entity.SystemSettingDo;
import com.tyk.bookstore.back.platform.model.query.*;
import com.tyk.bookstore.back.platform.model.vo.*;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper(componentModel = "spring")
public interface MapStructPlatform {
    CarouselVo toCarouselVo(CarouselDo carousel);

    CarouselPageVo toCarouselPageVo(Page<CarouselDo> page);

    CarouselDo toCarouselDo(CarouselAddQuery query);

    CarouselDo toCarouselDo(CarouselUpdateQuery query);

    SystemSettingVo toSystemSettingVo(SystemSettingDo systemSetting);

    SystemSettingPageVo toSystemSettingPageVo(Page<SystemSettingDo> page);

    SystemSettingDo toSystemSettingDo(SystemSettingAddQuery query);

    SystemSettingDo toSystemSettingDo(SystemSettingUpdateQuery query);

    AreaSimVo toAreaVo(AreaDo area);

    AreaPageVo toAreaPageVo(Page<AreaDo> page);

    AreaDo toAreaDo(AreaAddQuery query);

    AreaDo toAreaDo(AreaUpdateQuery query);

    AreaVo toAreaVo(AreaDo area, int b);

    List<AreaListVo> toAreaListVoList(List<AreaDo> doList);
}
